/**
 * 
 */
package cz.cuni.mff.abacs.burglar.logics.objects.agents;

import cz.cuni.mff.abacs.burglar.logics.DataMap;
import cz.cuni.mff.abacs.burglar.logics.objects.BaseInterface;
import cz.cuni.mff.abacs.burglar.logics.objects.BaseObject;
import cz.cuni.mff.abacs.burglar.logics.objects.positions.Position;


/** 
 * Guard, that can see in the dark.
 * 
 * @author abacs
 *
 */
public class Dog extends BaseAgent implements Agent {
	
	
	
	
	
	// -------------------------------------------------------------------------
	// constructors:
	
	
	/**
	 * @param id
	 */
	public Dog(int id, Position position, DataMap referenceMap) {
		super(id, BaseObject.Type.DOG, position, null, referenceMap);
	}
	
	
	/**
	 * 
	 * @param original
	 * @param referenceMap
	 */
	protected Dog(Dog original, DataMap referenceMap) {
		super(original, referenceMap);
	}
	
	
	// -------------------------------------------------------------------------
	
	
	@Override
	public void copyChangeables(Agent original) {
		
		assert(original.isTypeOf(BaseInterface.Type.DOG));
		//Dog original_ = (Dog) original;
		
		super.copyChangeables((BaseAgent)original);
	}
	
	
	@Override
	public Agent copy(DataMap reference) {
		return new Dog(this, reference);
	}
	
	
}
